package hk.linkcredit.walletservice.wallet.service;

import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import hk.linkcredit.walletservice.wallet.domain.entity.WalletOrder;
import hk.linkcredit.walletservice.wallet.domain.vo.WalletAccountInfo;
import hk.linkcredit.walletservice.wallet.domain.vo.WalletOrderReq;
import hk.linkcredit.walletservice.wallet.domain.vo.WalletRepayReq;
import hk.linkcredit.walletservice.wallet.domain.vo.WalletWithdrawReq;

import java.math.BigDecimal;

/**
 * <p>
 * 钱包订单表 服务类
 * </p>
 *
 * @author LinkCredit
 * @since 2022-06-10 15:26:33
 */
public interface WalletOrderService extends IService<WalletOrder> {

    WalletOrder generateWalletOrder(String orderType, BigDecimal actualAmount, WalletWithdrawReq walletWithdrawReq, WalletAccountInfo walletAccount);

    String generateWalletOrder(String orderType, JSONObject repayAmtSplit, WalletRepayReq walletRepayReq, WalletAccountInfo walletAccount);

    void doWalletOrder(WalletOrderReq walletOrderReq, WalletOrder walletOrder);
}
